home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / IntEnv.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  3.2 KB  |  142 lines  |  [TEXT/MPS ]

  1. (*
  2. Created: Wednesday, June 27, 1990 at 6:42 PM
  3.     IntEnv.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc. 1989-1995
  7.         All rights reserved
  8. *)
  9.  
  10.  
  11. (*$TAGS-*)
  12. (*$CALLING PASCAL*)
  13. MODULE IntEnv;
  14.  
  15. IMPORT SYSTEM, PasLibIntf;
  16.  
  17. (* $ALIGN MAC68K*)
  18.  
  19.     CONST
  20.  
  21.       (* CMD words for IEfaccess(), from <fcntl.h> *)
  22.       (* IEfaccess command words for general usage in any program*: *)
  23.       
  24.       F_OPEN* = $6400; (* (('d'<<8)|00), d => "directory" ops *)
  25.       F_DELETE* = $6401;
  26.       F_RENAME* = $6402;
  27.  
  28.       (* IEfaccess command words for use only in MPW Tools*: *)
  29.       
  30.       F_GTABINFO* = $6500; (* (('e'<<8)|00), e => "editor" ops *)
  31.       F_STABINFO* = $6501;
  32.       F_GFONTINFO* = $6502;
  33.       F_SFONTINFO* = $6503;
  34.       F_GPRINTREC* = $6504;
  35.       F_SPRINTREC* = $6505;
  36.       F_GSELINFO* = $6506;
  37.       F_SSELINFO* = $6507;
  38.       F_GWININFO* = $6508;
  39.       F_SWININFO* = $6509;
  40.       F_GSCROLLINFO* = $650A;
  41.       F_SSCROLLINFO* = $650B;
  42.       F_GMARKER* = $650D;
  43.       F_SMARKER* = $650C;
  44.       F_GSAVEONCLOSE* = $650F;
  45.       F_SSAVEONCLOSE* = $650E;
  46.  
  47.       (* Open modes for IEopen(), from <fcntl.h> *)
  48.  
  49.       O_RDONLY* = $0000;
  50.       O_WRONLY* = $0001;
  51.       O_RDWR* = $0002;
  52.       O_APPEND* = $0008;
  53.       O_RSRC* = $0010;
  54.       O_ALIAS* = $0020;
  55.       O_CREAT* = $0100;
  56.       O_TRUNC* = $0200;
  57.       O_EXCL* = $0400;
  58.       O_NRESOLVE* = $4000;
  59.  
  60.       (* IOCtl parameters *)
  61.  
  62.       FIOINTERACTIVE* = $6602; (* (('f'<<8)|02), f => "open file" ops *)
  63.       FIOBUFSIZE* = $6603;
  64.       FIOFNAME* = $6604;
  65.       FIOREFNUM* = $6605;
  66.       FIOSETEOF* = $6606;
  67.  
  68.     TYPE
  69.       IEString* = ARRAY 256 OF CHAR;
  70.       IEStringPtr* = POINTER TO IEString;
  71.       IEStringVec* = ARRAY 8192 (*ΔΔ[0..8191]ΔΔ*) OF IEStringPtr;
  72.       IEStringVecPtr* = POINTER TO IEStringVec;
  73.       
  74.       (* RECORD types used by IEfaccess*: *)
  75.       
  76.       SelectionRecord* = RECORD
  77.           startingPos*:    LONGINT;
  78.         endingPos*:        LONGINT;
  79.         displayTop*:        LONGINT;
  80.       END;
  81.       
  82.       MarkElement* = RECORD
  83.           markStart*:        LONGINT;
  84.         markEnd*:        LONGINT;
  85.         charCount*:        CHAR;
  86.         name*:            ARRAY 66 (*ΔΔ[0..65]ΔΔ*) OF CHAR;    (* NOTE*:  This is a C string! *)
  87.       END;
  88.  
  89.       (*$PUSH*)
  90.       (*$J+*) (* EXPORTed unit globals *)
  91.  
  92.     VAR
  93.     (* $LibExport+*)
  94.  
  95.       ArgC*: LONGINT;
  96.       ArgV*: IEStringVecPtr;
  97.       _EnvP*: IEStringVecPtr;
  98.  
  99.       Diagnostic*: LONGINT (*ΔΔ TEXT*);
  100.       (*$POP*)
  101.  
  102. (* The following definition has been moved to MacRuntime.p *)
  103. (*    PROCEDURE IEStandAlone*(): BOOLEAN; *)
  104.  
  105.     PROCEDURE IEgetenv*(envName: IEString (*ΔΔ STRING*); VAR envValue: (*ΔΔUNIVΔΔ*) IEString): BOOLEAN;
  106.         EXTERNAL PASCAL;
  107.  
  108.     PROCEDURE IEfaccess*(fName: IEString (*ΔΔ STRING*); opCode: LONGINT;
  109.                        arg: (*ΔΔUNIVΔΔ*) LONGINT): LONGINT;
  110.         EXTERNAL PASCAL;
  111.  
  112.     PROCEDURE IEopen*(VAR fvar: (*ΔΔUNIVΔΔ*) PasLibIntf.PASCALFILE; fName: IEString (*ΔΔ STRING*); mode: LONGINT);
  113.         EXTERNAL PASCAL;
  114.  
  115.     PROCEDURE IEioctl*(VAR fvar: (*ΔΔUNIVΔΔ*) PasLibIntf.PASCALFILE; request: LONGINT;
  116.                      arg: (*ΔΔUNIVΔΔ*) LONGINT): LONGINT;
  117.         EXTERNAL PASCAL;
  118.  
  119.     PROCEDURE IElseek*(VAR fvar: (*ΔΔUNIVΔΔ*) PasLibIntf.PASCALFILE; offset: LONGINT;
  120.                      whence: LONGINT): LONGINT;
  121.         EXTERNAL PASCAL;
  122.  
  123.     (* $PUSH*)
  124.     (* $LibExport+*)
  125.  
  126.     PROCEDURE IEatexit*(exitProc: (*ΔΔUNIVΔΔ*) LONGINT);
  127.         EXTERNAL (*•• C*);
  128.       (*ΔΔC;ΔΔ*)
  129.  
  130.     PROCEDURE IEexit*(status: LONGINT);
  131.         EXTERNAL (*•• C*);
  132.       (*ΔΔC;ΔΔ*)
  133.  
  134.     PROCEDURE IE_exit*(status: LONGINT);
  135.         EXTERNAL (*•• C*);
  136.       (*ΔΔC;ΔΔ*)
  137.  
  138. (* $ALIGN RESET*)
  139. (* $POP*)
  140.  
  141.     END IntEnv.
  142.